package com.vcc.data.entity;


import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.vcc.data.base.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@EqualsAndHashCode(callSuper = true)
@Data
@Setter
@Getter
@Table(value = "vcc_recharge_log")
public class RechargeLog extends BaseEntity implements Serializable {

    @Column(comment = "用户ID", value = "user_id")
    private Long userId;

    @Column(comment = "订单ID", value = "order_id")
    private String orderId;

    @Column(comment = "备注", value = "remark")
    private String remark;

    @Column(comment = "审核备注", value = "audit_remark")
    private String auditRemark;

    /**
     * 0 虚拟币入金  1 充值补单  2 对公打款
     */
    @Column(comment = "类型", value = "use_flag")
    private Integer useFlag;

    /**
     * 0 成功 1  失败  2  等待中 3 异常单手动处理
     */
    @Column(comment = "状态", value = "status")
    private Integer status;

    @Column(comment = "币种Id", value = "currency_id")
    private Long currencyId;

    @Column(comment = "币种编码", value = "currency_code")
    private String currencyCode;

    @Column(comment = "金额", value = "amount")
    private BigDecimal amount;

    @Column(comment = "汇率", value = "rate")
    private BigDecimal rate;

    @Column(comment = "请求时间", value = "request_date")
    private Date requestDate;

    @Column(comment = "审核时间", value = "audit_date")
    private Date auditDate;

    @Column(comment = "审核用户ID", value = "audit_user_id")
    private Long auditUserId;

    /**
     * 手续费
     */
    @Column(comment = "手续费", value = "fee")
    private BigDecimal free;

    /**
     * 汇款币种
     */
    @Column(comment = "汇款币种", value = "remittance_currency")
    private String remittanceCurrency;

    /**
     * 汇款金额
     */
    @Column(comment = "汇款金额", value = "remittance_amount")
    private BigDecimal remittanceAmount;


    /**
     * 汇款费率
     */
    @Column(comment = "汇款费率", value = "remittance_rate")
    private BigDecimal remittanceRate;

    /**
     * 汇款费率
     */
    @Column(comment = "汇款地址", value = "remittance_address")
    private String remittanceAddress;

    /**
     * 充值地址
     */
    @Column(comment = "充值地址", value = "recharge_address")
    private String rechargeAddress;

    /**
     * 充值地址图片
     */
    @Column(comment = "凭证", value = "voucher")
    private String voucher;

    @Column(comment = "用户账号", value = "account", ignore = true)
    private String account;

    @Column(comment = "代理账号", value = "dealer_account", ignore = true)
    private String dealerAccount;

    @Column(comment = "审核账号", value = "audit_account", ignore = true)
    private String auditAccount;
}
